A mechanical apparatus, which makes motions similar to human motions by using an electrical or magnetic effect, is called a “robot”. It is said that the term “robot” is originated from a Slavic word “ROBOTA” (a slave machine)”. In Japan, robots started to be widely used in the late 1960s, most of which were industrial robots, such as manipulators and transfer robots, serving for automated and unmanned manufacturing operations in factories.
Recently, progress has been made in researches and developments concerning legged mobile robots that simulate the physical mechanisms or motions of animals walking in an erect posture on two legs, such as human beings or monkeys, and expectations of practical utilization thereof are growing. Although the movement in an erect posture on two legs is less stable and presents more difficulties in attitude control and ambulation control than in crawler-type, four-legged, and six-legged movements, it is excellent in realization of flexible ambulation, such as accommodation to walking surfaces presenting irregularities on the working trajectory, such as non-bulldozed lands or lands presenting obstacles, or to non-continuous walking surfaces, such as ascending and descending stairs and a ladder.
Legged mobile robots that emulate the bodily mechanisms and motions of human beings are particularly called “human type” or “human style” robots (humanoid robots). For example, humanoid robots are able to perform life support, that is, to support human activities in living environments and other situations in everyday life.
Most of the human working or living spaces are adapted to the bodily mechanism or behavioral pattern of human beings in the form of erect walking on two legs, and there are many obstacles therein for existing mechanical systems having wheels or other driving devices as transfer means. Therefore, in order for mechanical systems, that is, robots, to perform a variety of human operations and to infiltrate more into the living space of the human beings, it is preferable that the possible moving range of the robots be substantially equal to that of the human beings. This is the reason why the practical utilization of the legged mobile robots is greatly expected.
A large number of proposals have already been made in the technology concerning posture control and stable walking in legged mobile robot walking on two legs. The stable “walking” herein may be defined as “to move using legs without falling down”. In order to prevent the robot from falling down, stable posture control of the robot is quite important. This is because falling implies interruption of the operation being executed by the robot, and a lot of time and labor is taken for the robot to erect itself from its fallen state and to restart the operation. This is also because the falling may inflict fatal damage not only to the robot itself, but also to the object colliding with the falling robot.
The majority of the proposals concerning stable attitude control and falling prevention during walking use the ZMP (Zero Moment Point) as the criterion of determining the walking stability. The verification criterion of the stability using the ZMP is based on “the d'Alembert's principle” that the gravitational force and inertial force acting from the walking system to the road, and the moments thereof are counterbalanced by the floor reactive force serving as the reactive force acting from the floor to the walking system, and the floor reactive moment. As the conclusion of the mechanical deduction, a point at which the pitching-axis and rolling-axis moments are zero, that is, “the zero moment point (ZMP)”, lies on a side of a supporting polygon (i.e., ZMP stable area) defined by contact points of the soles with the road, and the road surface, or on the inner side thereof.
In short, the ZMP criterion states that “the robot can stably walk without falling down (the robot body does not turn) when the ZMP exists inside the supporting polygon defined by the feet and the road surface at any moment during walking, and a force for pushing the robot against the road surface acts”.
A motion pattern (ex., a two-legged walking pattern) generated based on the ZMP criterion has the advantages, such as pre-settable sole contact points with the road surface and ease in taking account of the kinematic constraint conditions of the leg tips in conformity to the road surface shape. Moreover, since the use of the ZMP as the criterion for determining the stability means that the force is not used as a target value in motion control, but the trajectory is used, technical practicability is enhanced.
The concept of the ZMP and the application of the ZMP to the criterion for determining the stability of walking robots are taught in Miomir Vukobratovic, Legged Locomotion Robots (Ichiro Kato et al., Hoko Robotto to Jinkou no Aashi, (Nikkan Kogyo Shimbun, Ltd.)).
For example, a legged mobile robot disclosed in Japanese Unexamined Patent Application Publication No. H-5-305579 performs stable walking so that a point on the floor surface where ZMP is zero is controlled to coincide with a target value.
In a legged mobile robot disclosed in Japanese Unexamined Patent Application Publication No. H-5-305581, the ZMP is designed to be positioned inside a supporting polyhedron (polygon) or at least at a certain distance from the end of the supporting polygon when the leg touches or leaves the floor. In this case, the walking stability of the robot body is enhanced even under disturbance or the like because of the ZMP positioned at the given distance.
Japanese Unexamined Patent Application Publication No. H-5-305583 discloses that the walking speed of a legged mobile robot is controlled depending on the target ZMP position. That is, according to preset walking pattern data, the leg joints are driven to bring the ZMP into coincidence with the target position. Moreover, the tilt of the upper body is detected, and the output speed of the preset walking pattern data is changed depending on the detected value. For example, if the robot tilts forward as it tramps on unexpected irregularities, the output speed may be increased to recover its attitude. Also, since the ZMP is controlled to coincide with the target position, the output speed can be changed without any trouble during a double-leg support phase.
Japanese Unexamined Patent Application Publication No. H-5-305585 discloses that the landing position of a legged mobile robot is controlled by the ZMP target position. That is, the legged mobile robot disclosed in this publication achieves stable walking by detecting a difference between the ZMP target position and the actually measured position, and driving one or both of the legs to cancel the difference, or, alternatively, detecting the moment about the ZMP target position and driving the legs to reduce the moment to zero.
Japanese Unexamined Patent Application Publication No. H-5-305586 discloses controlling the tilting attitude of a legged mobile robot by the ZMP target position. That is, the moment about the ZMP target position is detected, and the legs are driven to reduce the moment to zero, thereby achieving stable walking.
A heavy processing load is imposed for generating a dynamic pattern including the solution of a ZMP equation. For this reason, in the majority of the known general locomotion control methods, calculations for generating a reference walking pattern are made off-line, and stabilizing calculations for accommodating unknown road surfaces and unknown external forces are made in the actual apparatus by using a simple dynamic model having a relatively light calculation load constructed corresponding to each adaptive control function.
In such a case, since the reference walking pattern is given as fixed data, it is impossible to meet various requests to change the locomotion. In order for the walking robot to freely move in a real environment, a function is needed that immediately reconfigures the general motion while maintaining a dynamic balance so as to meet motion change requests to the lower limbs and motion change requests to the upper limbs, such as the stride, walking cycle, turning angle, and lifting height of the leg, input at given times. However, in the conventional methods in which a walking pattern is generated off-line, a prepared walking pattern is simply carried out in the real environment without being changed.
For example, Japanese Unexamined Patent Application Publication No. H-10-86081 discloses a method in which several walking patterns each corresponding to one step are prepared off-line, and they are mixed and connected. However, it is impossible to cover all possible walking patterns, which can be said to be innumerable.
In a case in which a motion different from a motion assumed when a reference walking pattern is generated is requested of a specific joint (e.g., an upper limb of a humanoid robot) during execution time, since the motion of the specific joint is treated as a disturbance, the burden on the stabilizing algorithm is increased. When a there is an excessive deviation between the requested motion of the specific joint and the motion assumed when the reference walking pattern is generated, that is, the deviation is outside the allowable range of the stabilizing algorithm, the robot sometimes falls down. For example, when the mass of the upper limbs is large, it is considered that it is difficult to meet a motion request, for example, to violently swing the upper limbs at a given timing during walking.
Furthermore, since a simple dynamic model is constructed corresponding to each adaptive control function, expandability for adding adaptive control functions is low, and the amount of calculation is increased. Stabilizing algorithms corresponding to the adaptive control functions have a common purpose of stabilizing the locomotion, and often make substantially similar calculations. In an embedded CPU having limited calculation resources, it is important to integrate and save these calculations.
In order to reduce the load on the stabilizing calculations in the actual apparatus, a simple dynamic model is often introduced in each period corresponding to each adaptive control function. In other words, there is no consistency between dynamic models used in the generated walking pattern and various stabilizing algorithms. For this reason, unexpected interference occurs between different models. It is impossible to deny the probability that such an interference will cause phenomena, such as oscillation and divergence, in the control system and will reduce the walking performance. Various stabilizing algorithms, as well as the generated walking pattern, are not controlled by independent dynamics, but, in general, mutually interfere with one another. Therefore, it is preferable that operation be performed by sharing a consistent dynamic model constructed in consideration of mutual interference.